1. Field of the Invention
This invention relates to a data decoding apparatus, and more particularly to an improvement of digital cellular telephone system in which voice signals are coded and then transmitted or received.
2. Description of the Related Art
In a conventional digital cellular system, which is one of radio telephone systems, voice signals are encoded and the encoded signals are transmitted by means of time-division multiplexing technique so that one channel may be shared with a plurality of terminals at the same time.
A terminal used in such a system performs analog-to-digital conversion on a voice signal to produce voice data, and then performs data compression on the voice data. Furthermore, error correction codes are added to the data-compressed voice data, and then convolution encoding is performed to produce convolution-coded data. Then, from this convolution-coded data, IQ-signals are produced so as to perform GMSK modulation.
Thereby, the terminal converts the GMSK-modulated output signal into a transmission signal having a predetermined frequency and transmits it with a time slot assigned for the terminal. In this way, a terminal can transmit a voice signal to another terminal in speech communication via a base station.
A terminal may also receive voice signals via a base station from a transmitter in speech communication by receiving time slots assigned for it. In this receiving operation, the terminal performs frequency conversion on the received signal and then produces IQ signals by means of quadrature detection. From these IQ signals, the original convolution-coded data is reproduced and then convolution-decoding is carried out.
Furthermore, the terminal performs error correction on the decoded data, and demodulates it into voice data. Then, voice expansion is carried out on this voice data and it is further converted into an analog signal. In this way, the terminal can decode a voice signal sent by a transmitter in speech communication.
In digital cellular systems, as described above, after error correction codes are added, convolution encoding is performed on signals and then voice data is transmitted. This assures that voice signals can be transmitted even if communication environment becomes poor, and thus stable speech communication can be achieved.
In a digital cellular terminal of this type, a Viterbi decoding circuit may be used as a decoding circuit for performing convolution decoding so that bit error rates can be reduced and thus reliability of the decoded data can be improved.
In the Viterbi decoding technique, the degree of likelihood with respect to the transition of input data is detected from the input data which is sequentially input, and thus the most likely transition path is detected and decoding of the input data is carried out based on the detected most likely transition path, whereby accurate decoded results can be obtained even in the case where a large change in the signal level of input data occurs suddenly.
When the Viterbi decoding circuit is employed, if it is possible to detect reliability data representing how reliable each input data is, then the Viterbi decoding circuit will obtain the ability to more efficiently decode input data by making a soft decision based on this reliability data and to further reduce the bit error rate.
In this case, one possible way to obtain the reliability data is that the amplitude and phase of the received data are detected and these detected results are compared with predetermined reference values and then the difference between them is output as the reliability data to the Viterbi decoding circuit.
In digital cellular systems, a telephone terminal is often used in a car. However, in such mobile communication, the characteristics of transmission media are very poor, and large distortion occurs in received signals.
Therefore, in a terminal of this type, if the reliability data is produced simply based on information with respect to amplitude or a phase, there may occur a problem that the obtained reliability data does not represent the accurate degree of likelihood with respect to the input data.
Furthermore, it is difficult to numerically represent the reliability data from the information of the amplitude and phase even if the transmission media are under good characteristic conditions, and thus it is difficult to represent the degree of the likelihood of the input data.
One method to solve this problem is to form an equalizer by applying the Viterbi algorithm and to detect branch metric data by this equalizer so as to use this detected branch metric data as the reliability data.
In this type of terminal, I and Q signals are produced for example by means of quadrature detection, and these I and Q signals are converted into digital values so as to demodulate convolution-coded data.
In the receiving terminal, waveform-equalizing is then carried out by using the equalizer so as to compensate the data waveform of the convolution-coded data and so as to effectively prevent a fading effect and the like. The compensated convolution-coded data is then applied to a convolution decoder.
The Viterbi algorithm is applied to this equalizer and the branch metric with respect to the convolutioncoded data is produced. The branch metrics are summed for each path (each path consists of state transition paths) of the convolution-coded data so as to produce a state metric. The most likely path is detected by detecting a path which has the least state metric.
Based on the result of the path detection, the equalizer may reproduce the original data waveform of the convolution-coded data and thus may provide the data obtained by means of the most likelihood estimation. The Viterbi decoding circuit may use the branch metric corresponding to the selected path as the reliability data.
However, in the Viterbi algorithm, the branch metrics are summed so as to detect a state metric which is used as a basis to select the path. The path is selected not only based on the branch metric corresponding to the output data, but also based on the just previous state metric. Therefore, in some cases, a path is selected although the branch metric corresponding to the output data has a large value, which means that the branch metric does not accurately represent the degree of the likelihood of the output data in this case.